<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>JsonMLUtil (Closure Compiler)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="JsonMLUtil (Closure Compiler)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLError.html" title="class in com.google.javascript.jscomp.jsonml"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../com/google/javascript/jscomp/jsonml/Reader.html" title="class in com.google.javascript.jscomp.jsonml"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/javascript/jscomp/jsonml/JsonMLUtil.html" target="_top">Frames</a></li>
<li><a href="JsonMLUtil.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.google.javascript.jscomp.jsonml</div>
<h2 title="Class JsonMLUtil" class="title">Class JsonMLUtil</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.google.javascript.jscomp.jsonml.JsonMLUtil</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">JsonMLUtil</span>
extends java.lang.Object</pre>
<div class="block">JsonMLUtil contains utilities for the JsonML object.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLUtil.html#JsonMLUtil()">JsonMLUtil</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLUtil.html#compare(com.google.javascript.jscomp.jsonml.JsonML, com.google.javascript.jscomp.jsonml.JsonML)">compare</a></strong>(<a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;tree1,
       <a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;tree2)</code>
<div class="block">Compares two specified JsonML trees.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLUtil.html#isExpression(com.google.javascript.jscomp.jsonml.JsonML)">isExpression</a></strong>(<a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;element)</code>
<div class="block">Checks if the specified JsonML element represents an expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLUtil.html#parseString(java.lang.String)">parseString</a></strong>(java.lang.String&nbsp;jsonml)</code>
<div class="block">Parses JSON string which contains serialized JsonML content.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="JsonMLUtil()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JsonMLUtil</h4>
<pre>public&nbsp;JsonMLUtil()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="isExpression(com.google.javascript.jscomp.jsonml.JsonML)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isExpression</h4>
<pre>public static&nbsp;boolean&nbsp;isExpression(<a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;element)</pre>
<div class="block">Checks if the specified JsonML element represents an expression.</div>
</li>
</ul>
<a name="parseString(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseString</h4>
<pre>public static&nbsp;<a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;parseString(java.lang.String&nbsp;jsonml)
                          throws java.lang.Exception</pre>
<div class="block">Parses JSON string which contains serialized JsonML content.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>jsonml</code> - string representation of JsonML</dd>
<dt><span class="strong">Returns:</span></dt><dd>root element of a JsonML tree</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd></dl>
</li>
</ul>
<a name="compare(com.google.javascript.jscomp.jsonml.JsonML, com.google.javascript.jscomp.jsonml.JsonML)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>compare</h4>
<pre>public static&nbsp;java.lang.String&nbsp;compare(<a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;tree1,
                       <a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;tree2)</pre>
<div class="block">Compares two specified JsonML trees.

 Two JsonML nodes are considered to be equal when the following conditions
 are met:

 - have the same type
 - have the same attributes from the list of attributes to compare
 - have the same number of children
 - nodes in each pair of corresponding children are equal

 Two JsonML trees are equal, if their roots are equal.

 When two nodes are compared, only the following attributes are taken
 into account:
 TagAttr.BODY, TagAttr.FLAGS, TagAttr.IS_PREFIX, TagAttr.LABEL,
 TagAttr.NAME, TagAttr.OP, TagAttr.TYPE, TagAttr.VALUE
 Generally, the comparator does not care about debugging attributes.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns string describing the inequality in the following format:

 The trees are not equal:

 Tree1:
 -- string representation of Tree1

 Tree2:
 -- string representation of Tree2

 Subtree1:
 -- string representation of the subtree of the Tree1 which is not
 -- equal to the corresponding subtree of the Tree2

 Subtree2:
 -- see Subtree1

 If the trees are equal, null is returned.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLError.html" title="class in com.google.javascript.jscomp.jsonml"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../com/google/javascript/jscomp/jsonml/Reader.html" title="class in com.google.javascript.jscomp.jsonml"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/javascript/jscomp/jsonml/JsonMLUtil.html" target="_top">Frames</a></li>
<li><a href="JsonMLUtil.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
